PIXNET Logo登入

狐的窩

跳到主文

享受生活

部落格全站分類:圖文創作

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 9月 30 週五 201123:50
  • Perl: DBI 查詢 use fetchrow_hashref

今天遇到了一個現象,讓我花了好多時間,最後才查清楚怎麼回事,手動查詢資料庫,明明 table 內有資料,程式用 fetchrow_hashref 查詢就是沒資料....
my $ref = $sth->fetchrow_hashref();
print "name=$ref->{'NAME'}, address=$ref->{'ADDR'}\n";
執行結果:
name=, address=
會造成這樣的原因是因為大部分的資料庫,資料表的欄位名稱不分大小寫,而 perl 的 hash ,其 key 的部分是區分大小寫的,在這情況下會帶來不小的困擾,造成上面語法無法取得資料。
為了避免潛在大小寫不匹配的問題,必須透過 NAME_uc 或 NAME_lc 屬性來告知 fetchrow_hashref 強制欄位名稱為大寫或小寫。
(繼續閱讀...)
文章標籤

mark528 發表在 痞客邦 留言(0) 人氣(179)

  • 個人分類:Perl
▲top
  • 9月 26 週一 201115:35
  • Perl: 快速分解檔案路徑及名稱。 use File::Basename

不管使用什麼程式語言,常常會遇到要拆解檔案路徑和名稱的情況,有些有提供api使用,有些要自己手動來完成,Perl 則提供了一個好用模組來快速解決這問題。
範例如下:
#!/usr/bin/perl
use strict;
use warnings;
use File::Basename;
my $fullpath='YourFileFullpath';
my ($name, $path, $suffix) = fileparse($fullpath);
print "name=$name\n";
print "path=$path\n";
print "suffix=$suffix\n";
結果:
# On Unix
$fullpath="/foo/bar/baz";
# returns
$name="baz", $path="/foo/bar/", suffix="";
# On Windows
$fullpath='C:\foo\bar\baz';
# returns
$name="baz", $path='C:\foo\bar\', suffix="";
# get file name, It does NOT always return the file name portion of a path as you might expect. To be safe, if you want the file name portion of a path use fileparse() .
$fullpath="/foo/bar/baz";
my $name = basename($fullpath);
#return
$name="baz"
(繼續閱讀...)
文章標籤

mark528 發表在 痞客邦 留言(0) 人氣(1,927)

  • 個人分類:Perl
▲top
  • 9月 08 週四 201117:03
  • Perl Net::FTP簡單應用

#!/usr/bin/perl
use warnings;
use strict;
use Net::FTP;
my $host="yourIP";
my $usr="yourUsr";
my $pass="yourPass";
my $path="/yourPub";
my $newerr=0;
my $ftp = Net::FTP->new($host,Debug =>0) or die "Cannot connect to $host: $@";
$ftp->login($usr,$pass) or die "Cannot login ", $ftp->message;
$ftp->cwd($path) or die "Cannot change working directory ", $ftp->message;
$ftp->get("test.file") or die "get failed ", $ftp->message;
$ftp->quit;
(繼續閱讀...)
文章標籤

mark528 發表在 痞客邦 留言(0) 人氣(454)

  • 個人分類:Perl
▲top
  • 9月 08 週四 201112:17
  • Perl connect/access PostgreSQL

底下說明了Perl如何連接PostgreSQL和操作sql。
事前準備
範例:
1. load module
2. 初始 database handle
3. connect to database
4. 執行SQL
5. 取得結果列數
6. 處理每一row資料

(繼續閱讀...)
文章標籤

mark528 發表在 痞客邦 留言(0) 人氣(89)

  • 個人分類:Perl
▲top
  • 1月 04 週二 201116:18
  • Perl – 字串操作

 
Perl最強項的能力就在於字串的處理能力,不管是比對、擷取或是核心的regular expression(RE),透過這些處理能讓字串變成非常有用的資訊。

(繼續閱讀...)
文章標籤

mark528 發表在 痞客邦 留言(0) 人氣(8,594)

  • 個人分類:Perl
▲top
  • 12月 09 週四 201016:37
  • Perl – 純量變數(scalars)

Perl 的最基本的變數型態,可以是文字,也可以是數字,兩者可以互換。
變數名稱可含有數字、文字、以及下畫線"_",但是它們不可以數字開頭。

(繼續閱讀...)
文章標籤

mark528 發表在 痞客邦 留言(0) 人氣(1,983)

  • 個人分類:Perl
▲top
  • 12月 09 週四 201015:18
  • Perl: 1. Perl 之旅

前言
最好具備有下列條件:

已瞭解 HTML 語法並且寫過程式(C, C++, java...)。
系統已經安裝 Perl 5.x 的環境,Linux 或 Windows 皆可。
(繼續閱讀...)
文章標籤

mark528 發表在 痞客邦 留言(0) 人氣(1,411)

  • 個人分類:Perl
▲top
1

文章搜尋

好康資訊

熱門文章

  • (16,019)Excel:如何讀取固定欄位值
  • (15,178)用 excel 來記錄體重及體脂肪
  • (336)紙模:史上最強的水管工 馬力歐
  • (11,740)Shell Script:運用 date 指令取得日期時間(Linux)
  • (7,234)Shell Script: 控制文字顏色
  • (1,927)Perl: 快速分解檔案路徑及名稱。 use File::Basename
  • (670)模型:鋼彈:Gundlander 鋼德勇士
  • (11,149)忘記PostgreSQL資料庫管理者密碼,要如何重新設定
  • (4,863)Oracle內建常用字串函數
  • (309)紙模:能天使貓型鋼彈

文章分類

toggle 資料庫 (5)
  • DB2 (8)
  • SQL Server (6)
  • MySQL (7)
  • Oracle (10)
  • PostgreSQL (6)
toggle 手工物製作 (3)
  • 模型 (25)
  • PaperCraft (110)
  • 手帳 (3)
toggle 學習心得 (3)
  • PMP (1)
  • 讀書心得 (2)
  • 學習心得 (17)
toggle 程式設計 (15)
  • 專案管理 (1)
  • Websphere (1)
  • HTML (3)
  • Visual C++ (8)
  • Windows 8 (1)
  • Java (20)
  • JSP (4)
  • Web (6)
  • C# (11)
  • Windows Scripting Host (1)
  • Shell Script (3)
  • ASP.NET (6)
  • WebPI (1)
  • PHP (5)
  • Perl (7)
toggle 生活綜合 (2)
  • 生活資訊 (73)
  • 生活雜記 (25)
toggle 網路資源 (2)
  • 圖像和圖示 (3)
  • 網路空間應用 (1)
toggle 軟體應用 (5)
  • Windows 8 (1)
  • CentOS (7)
  • excel (6)
  • iphone (25)
  • 虛擬軟體 (2)
  • 未分類文章 (1)

文章精選

個人資訊

mark528
暱稱:
mark528
分類:
圖文創作
好友:
累積中
地區:

參觀人氣

  • 本日人氣:
  • 累積人氣: