嘿,我想知道是否有办法在不使用MIME :: Lite或任何其他库的情况下将文件(特别是.csv文件)附加到Perl中的邮件消息.
现在,我有一个"邮件程序功能",工作正常,但我不知道如何使其适应附加文件.这是我有的:
open(MAIL, "|/usr/sbin/sendmail -t");
print MAIL "To: cheese\@yahoo.com\n";
print MAIL "From: queso\@what.com\n";
print MAIL "Subject: Attached is $filename\n\n";
print MAIL "$message";
close(MAIL);
Run Code Online (Sandbox Code Playgroud)
我认为这是针对UNIX的.
我一直在寻找一个 SQL 函数来测试一个值是 alpha 还是数字。Informix 7.3 似乎没有任何这样的功能,但我可能错过了一些东西或者一直在寻找错误的东西。
例如,我试图测试一个电话号码字段是否只有数字并相应地处理它:
鉴于此表的电话字段类型为char(12):
id name phone
5164 Cheese 973-153-5149
8843 Queso (201)8011830
8356 Formaggio 2129182943
8938 Ost ext.21438
3852 Ser 973-15-1549
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
SELECT CASE WHEN (ISALPHA((TRIM(REPLACE((REPLACE((REPLACE((REPLACE((REPLACE(phone,'-','')),'(','')),')','')),' ','')),'.','')))))
THEN 'has alpha chars'
WHEN (LENGTH((TRIM(REPLACE((REPLACE((REPLACE((REPLACE((REPLACE(phone,'-','')),'(','')),')','')),' ','')),'.','')))) NOT IN (10,11))
THEN 'wrong length'
WHEN (phone IN ('',' ',NULL)))
THEN 'phone is blank'
ELSE (TRIM(REPLACE((REPLACE((REPLACE((REPLACE((REPLACE(phone,'-','')),'(','')),')','')),' ','')),'.','')))
END phone
FROM given_table;
Run Code Online (Sandbox Code Playgroud)
基本上,我试图从电话号码中删除任何-, (, ), ,.字符,修剪该结果,测试它的长度是否为 10 或 11 个字符,并确保数据中没有 alpha 字符。替换和修剪。(如果您觉得我将如何替换和修剪有任何问题,我也愿意在这方面提出建议。正则表达式?) …
我的列表(@degree)是从SQL命令构建的.SQL中的NVL命令不起作用,测试如下:
if (@degree[$i] == "")
if (@degree[$i] == " ")
if (@degree[$i] == '')
if (@degree[$i] == -1)
if (@degree[$i] == 0)
if (@degree[$i] == ())
if (@degree[$i] == undef)
Run Code Online (Sandbox Code Playgroud)
$ i是for循环中的计数器变量.基本上它通过并从表中获取独特的度数并最终创建("AFA", "AS", "AAS", "", "BS").列表并不总是很长,空元素并不总是在那个位置3.
有人可以帮忙吗?
我想要在for循环期间进行测试,或者在循环完成后对这个空元素进行测试,然后将其替换为单词"OTHER".
谢谢你的一切 - 肯
$rowfetch =~ s/['-]//g; #All chars inside the [ ] will be filtered out.
$rowfetch =~ m/(\w+), ?(.)/;
printf $fh lc($2.$1);
Run Code Online (Sandbox Code Playgroud)
我昨天得到了帮助建立这个正则表达式,但我不完全理解它.
它的名字像Parisi,Kenneth,并打印出kparisi
Knowns:
s/= substitute
m/= match
我试图寻找其余的但却找不到任何真正有助于解释它的东西.
我也不明白=〜应该如何评估为true还是false,但在这种情况下,它正在修改字符串.
两个表:
COURSE_ROSTER- 包含
COURSE_ID 作为外键的 COURSESUSER_ID 作为我需要插入的字段 COURSESCOURSES - 包含
COURSE_ID 作为主键INSTRUCTOR_ID作为需要使用USER_ID字段来更新的字段COURSE_ROSTER什么会的UPDATESQL语法是什么?我正在尝试这个,但没有好...我错过了一些东西,我无法在网上找到它.
UPDATE COURSES
SET COURSES.INSTRUCTOR_ID = COURSE_ROSTER.USER_ID
WHERE COURSE_ROSTER.COURSE_ID = COURSES.COURSE_ID
Run Code Online (Sandbox Code Playgroud) SQL中是否有任何nvl()等效函数?
或者在某些情况下足够接近以相同方式使用的东西?
select nvl (purge_date,"SODIUFOSDIUFSDOIFUDSF") from id_rec where id=36581;
(expression)
SODIUFOSDIUFSDOIFUDSF
1 row(s) retrieved.
select isnull (purge_date,"SODIUFOSDIUFSDOIFUDSF") from id_rec where id=36581;
674: Routine (isnull) can not be resolved.
Error in line 1
Near character position 8
select coalesce (purge_date,"SODIUFOSDIUFSDOIFUDSF") from id_rec where id=36581;
674: Routine (coalesce) can not be resolved.
Error in line 1
Near character position 8
select decode(purge_date, NULL, "01/01/2009", purge_date) from id_rec where id=74115;
800: Corresponding types must be compatible …Run Code Online (Sandbox Code Playgroud) 我正在处理一些doc文件,当复制并粘贴到文本文件中时,会给我以下示例'output':
Run Code Online (Sandbox Code Playgroud)ARTA215 ADVANCED LIFE DRAWING (3 Cr) (2:2) + Studio 1 hr. This advanced study in drawing with the life .... Prerequisite: ARTA150 Lab Fee Required ARTA220 CERAMICS II (3 Cr) (2:2) + Studio 1 hr. This course affords the student the opportunity to ex... Lab Fee Required ARTA250 SPECIAL TOPICS IN ART This course focuses on selected topic.... ARTA260 PORTFOLIO DEVELOPMENT (3 Cr) (3:0) The purpose of this course is to pre.... BIOS010 INTRODUCTION TO BIOLOGICAL CONCEPTS (3IC) (2:2) …
我有一个需要很多时间才能完成的脚本.
我宁愿退出并稍后检索其输出,而不是等待它完成.
我试过了;
at -m -t 03030205 -f /path/to/./thescript.pl
nohup /path/to/./thescript.pl &
我还验证了这些进程实际存在ps并at -l依赖于我使用的调度语法.
当我退出shell时,这两个进程都会死掉.有没有办法在关闭连接时阻止脚本终止?
我们这里有crons并且它们已经设置好并且正常工作,但我想使用at或nohup用于一次性脚本.
我的语法有问题吗?有没有其他方法可以产生预期的结果?
screen或disown- 他们没有安装在我的HP Unix设置中,我也无法安装它们 这段小代码一直是我的一堆脚本中的主要内容,但我从其他人编写的另一个工作脚本中获取了语法,并根据我的需要对其进行了调整.我甚至不确定这里使用的语法是打开文件处理程序的最佳或最常用的方法.
代码是:
$fh = \*STAT_FILE;
open ($fh,">>".$stat_file) or die "Can't open $stat_file: $!\n";
my $print_flag = ( -z $stat_file );
Run Code Online (Sandbox Code Playgroud)
我不完全理解上面代码的第一行和最后一行.具体而言,\*STAT_FILE和-z分别.
我知道,在大多数情况下,第二行将打开一个文件以追加或退出并抛出错误.但同样,我不明白$!这条线上的服务目的是什么.
有人可以用伪线逐行解释这个Perl代码吗?另外,如果上述方法不是首选方法,那么是什么?
提前致谢
我正在尝试修改其他人编写的脚本,我想让我的脚本与他的脚本分开.
我写的脚本以print一行输出,该行输出由空格分隔的所有相关数据.
例如: print "$sap $stuff $more_stuff";
我想在另一个perl脚本的中间使用这些数据,我不确定是否可以使用系统调用我写的脚本.
例如: system("./sap_calc.pl $id"); #obtain printed data from sap_calc.pl here
可以这样做吗?如果没有,我该怎么办呢?
system():