ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用perl比较mysql的版本

使用perl比较mysql的版本

原创 Linux操作系统 作者:bulletming 时间:2019-06-22 18:21:06 0 删除 编辑

他就是利用了sprintf的前边补零,要说大二学习C语言就知道这个,可我就没想到

我之前是想用正则表达式将其大中小版本存到数组里边,然后再比较,比较的超麻烦。


代码来自mysql-util里边

my $vp = new VersionParser();

$vp->version_ge($main_dbh, '4.1.1')

###########################################################################
# VersionParser package 1149
# ###########################################################################
use strict;
use warnings FATAL => 'all';

package VersionParser;

sub new {
my ( $class ) = @_;
bless {}, $class;
}

sub parse {
my ( $self, $str ) = @_;
return sprintf('%03d%03d%03d', $str =~ m/(d+)/g);
}

sub version_ge {
my ( $self, $dbh, $target ) = @_;
$self->{$dbh} ||= $self->parse(
$dbh->selectrow_array('SELECT VERSION()'));
return $self->{$dbh} ge $self->parse($target);
}

1;

# ###########################################################################
# End VersionParser package
# ###########################################################################

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/82392/viewspace-144730/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2004-05-31

  • 博文量
    121
  • 访问量
    106597