Perl脚本替换语法
下面是我的Perl脚本Perl脚本替换语法,perl,Perl,下面是我的Perl脚本 str_replace(rtrim(c_manager),'''','_'),'."\n". throws error str_replace(rtrim(c_manager), '''" pl_recert_output.pl第262行的u'后面的名称不正确 请帮助解决此问题: $sql = 'select rtrim(f_admin_disabled),'."\n". ' convert(varchar,t_pas
str_replace(rtrim(c_manager),'''','_'),'."\n".
throws error
str_replace(rtrim(c_manager), '''"
pl_recert_output.pl第262行的u'后面的名称不正确
请帮助解决此问题:
$sql = 'select rtrim(f_admin_disabled),'."\n".
' convert(varchar,t_password,101),'."\n".
' rtrim(c_email),'."\n".
' str_replace(rtrim(c_manager),'''','_'),'."\n".
' rtrim(c_mgr_email)'."\n".
' from tuserprofile'."\n".
' where ic_user1 = '."'$user_id'"."\n";
在单引号字符串中有单引号 引号字符串中的单引号必须用
\'
转义
但是,最好使用for cleaner代码:
$sql = <<EOF;
select rtrim(f_admin_disabled),
convert(varchar,t_password,101),
rtrim(c_email),
str_replace(rtrim(c_manager),'''','_'),
rtrim(c_mgr_email)
from tuserprofile
where ic_user1 = '$user_id'
EOF
;
$sql=您的单引号字符串中有单引号
引号字符串中的单引号必须用\'
转义
但是,最好使用for cleaner代码:
$sql = <<EOF;
select rtrim(f_admin_disabled),
convert(varchar,t_password,101),
rtrim(c_email),
str_replace(rtrim(c_manager),'''','_'),
rtrim(c_mgr_email)
from tuserprofile
where ic_user1 = '$user_id'
EOF
;
$sql=您的单引号字符串中有单引号
引号字符串中的单引号必须用\'
转义
但是,最好使用for cleaner代码:
$sql = <<EOF;
select rtrim(f_admin_disabled),
convert(varchar,t_password,101),
rtrim(c_email),
str_replace(rtrim(c_manager),'''','_'),
rtrim(c_mgr_email)
from tuserprofile
where ic_user1 = '$user_id'
EOF
;
$sql=您的单引号字符串中有单引号
引号字符串中的单引号必须用\'
转义
但是,最好使用for cleaner代码:
$sql = <<EOF;
select rtrim(f_admin_disabled),
convert(varchar,t_password,101),
rtrim(c_email),
str_replace(rtrim(c_manager),'''','_'),
rtrim(c_mgr_email)
from tuserprofile
where ic_user1 = '$user_id'
EOF
;
$sql=您需要在变量赋值中转义单引号:
my $user_id = 'test';
my $sql = 'select rtrim(f_admin_disabled),'."\n".
' convert(varchar,t_password,101),'."\n".
' rtrim(c_email),'."\n".
' str_replace(rtrim(c_manager),\'\'\'\',\'_\'),'."\n".
' rtrim(c_mgr_email)'."\n".
' from tuserprofile'."\n".
' where ic_user1 = '."'$user_id'"."\n";
print $sql;
结果:
select rtrim(f_admin_disabled),
convert(varchar,t_password,101),
rtrim(c_email),
str_replace(rtrim(c_manager),'''','_'),
rtrim(c_mgr_email)
from tuserprofile
where ic_user1 = 'test'
检查这是否是您期望的结果。您需要在变量赋值中转义单引号:
my $user_id = 'test';
my $sql = 'select rtrim(f_admin_disabled),'."\n".
' convert(varchar,t_password,101),'."\n".
' rtrim(c_email),'."\n".
' str_replace(rtrim(c_manager),\'\'\'\',\'_\'),'."\n".
' rtrim(c_mgr_email)'."\n".
' from tuserprofile'."\n".
' where ic_user1 = '."'$user_id'"."\n";
print $sql;
结果:
select rtrim(f_admin_disabled),
convert(varchar,t_password,101),
rtrim(c_email),
str_replace(rtrim(c_manager),'''','_'),
rtrim(c_mgr_email)
from tuserprofile
where ic_user1 = 'test'
检查这是否是您期望的结果。您需要在变量赋值中转义单引号:
my $user_id = 'test';
my $sql = 'select rtrim(f_admin_disabled),'."\n".
' convert(varchar,t_password,101),'."\n".
' rtrim(c_email),'."\n".
' str_replace(rtrim(c_manager),\'\'\'\',\'_\'),'."\n".
' rtrim(c_mgr_email)'."\n".
' from tuserprofile'."\n".
' where ic_user1 = '."'$user_id'"."\n";
print $sql;
结果:
select rtrim(f_admin_disabled),
convert(varchar,t_password,101),
rtrim(c_email),
str_replace(rtrim(c_manager),'''','_'),
rtrim(c_mgr_email)
from tuserprofile
where ic_user1 = 'test'
检查这是否是您期望的结果。您需要在变量赋值中转义单引号:
my $user_id = 'test';
my $sql = 'select rtrim(f_admin_disabled),'."\n".
' convert(varchar,t_password,101),'."\n".
' rtrim(c_email),'."\n".
' str_replace(rtrim(c_manager),\'\'\'\',\'_\'),'."\n".
' rtrim(c_mgr_email)'."\n".
' from tuserprofile'."\n".
' where ic_user1 = '."'$user_id'"."\n";
print $sql;
结果:
select rtrim(f_admin_disabled),
convert(varchar,t_password,101),
rtrim(c_email),
str_replace(rtrim(c_manager),'''','_'),
rtrim(c_mgr_email)
from tuserprofile
where ic_user1 = 'test'
检查这是否是您期望的结果。不能跳过单引号变量arugument…在“Leary”附近抛出错误语法。(SQL-42000)[state was 42000 now HY000][MERANT][ODBC Sybase ASE driver][SQL Server]字符串“help for other solution”前未关闭的引号如果您只将最后一行写为:“where ic_user1=”。$user_id.\n”;您可以打印在DB上运行的perl程序的输出,并调整变量赋值,使其保持有效的perl脚本并发出正确的DB查询。stru replace(rtrim(c\U管理器)、\'\'\'\'、\'\'\'\')、'。“\n”这些行抛出相同的错误,不能跳过单引号的变量arugument。。。。。例如:在c_manager列中,单引号内的值为'S'achin',变量名替换脚本,即,S_achin,如我所愿…..帮助不能跳过单引号内的变量arugument…在'Leary'附近抛出错误语法。(SQL-42000)[state was 42000 now HY000][MERANT][ODBC Sybase ASE driver][SQL Server]字符串“help for other solution”前未关闭的引号如果您只将最后一行写为:“where ic_user1=”。$user_id.\n”;您可以打印在DB上运行的perl程序的输出,并调整变量赋值,使其保持有效的perl脚本并发出正确的DB查询。stru replace(rtrim(c\U管理器)、\'\'\'\'、\'\'\'\')、'。“\n”这些行抛出相同的错误,不能跳过单引号的变量arugument。。。。。例如:在c_manager列中,单引号内的值为'S'achin',变量名替换脚本,即,S_achin,如我所愿…..帮助不能跳过单引号内的变量arugument…在'Leary'附近抛出错误语法。(SQL-42000)[state was 42000 now HY000][MERANT][ODBC Sybase ASE driver][SQL Server]字符串“help for other solution”前未关闭的引号如果您只将最后一行写为:“where ic_user1=”。$user_id.\n”;您可以打印在DB上运行的perl程序的输出,并调整变量赋值,使其保持有效的perl脚本并发出正确的DB查询。stru replace(rtrim(c\U管理器)、\'\'\'\'、\'\'\'\')、'。“\n”这些行抛出相同的错误,不能跳过单引号的变量arugument。。。。。例如:在c_manager列中,单引号内的值为'S'achin',变量名替换脚本,即,S_achin,如我所愿…..帮助不能跳过单引号内的变量arugument…在'Leary'附近抛出错误语法。(SQL-42000)[state was 42000 now HY000][MERANT][ODBC Sybase ASE driver][SQL Server]字符串“help for other solution”前未关闭的引号如果您只将最后一行写为:“where ic_user1=”。$user_id.\n”;您可以打印在DB上运行的perl程序的输出,并调整变量赋值,使其保持有效的perl脚本并发出正确的DB查询。stru replace(rtrim(c\U管理器)、\'\'\'\'、\'\'\'\')、'。“\n”这些行抛出相同的错误,不能跳过单引号的变量arugument。。。。。例如:在c_管理器列中,单引号内的值为'S'achin',变量名替换脚本,即,S_achin,如我所需…..帮助